home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Dev / gcc263-src.lha / gcc-2.6.3 / config / m68k / hp2bsd.h < prev    next >
C/C++ Source or Header  |  1993-10-02  |  3KB  |  78 lines

  1. /* Definitions of target machine for GNU compiler.  HP 9000/200 68000 version.
  2.    Copyright (C) 1987, 1991 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU CC.
  5.  
  6. GNU CC is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU CC is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU CC; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. #include "m68k/m68k.h"
  21.  
  22. /* See m68k.h.  0 means 68000 with no 68881.  */
  23.  
  24. #define TARGET_DEFAULT 0
  25.  
  26. /* Don't try using XFmode.  */
  27. #undef LONG_DOUBLE_TYPE_SIZE
  28. #define LONG_DOUBLE_TYPE_SIZE 64
  29.  
  30. /* Define __HAVE_68881 in preprocessor only if -m68881 is specified.
  31.    This will control the use of inline 68881 insns in certain macros.
  32.    Also inform the program which CPU this is for.  */
  33.  
  34. #define CPP_SPEC "%{m68881:-D__HAVE_68881__} \
  35. %{!ansi:%{m68020:-Dmc68020}%{mc68020:-Dmc68020}%{!mc68020:%{!m68020:-Dmc68010}}}"
  36.  
  37. /* -m68020 requires special flags to the assembler.  */
  38.  
  39. #define ASM_SPEC \
  40.  "%{m68020:-mc68020}%{mc68020:-mc68020}%{!mc68020:%{!m68020:-mc68010}}"
  41.  
  42. /* Names to predefine in the preprocessor for this target machine.  */
  43.  
  44. #define CPP_PREDEFINES "-Dmc68000 -Dmc68010 -Dhp200 -Dunix -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)"
  45.  
  46. /* Link with libg.a when debugging, for dbx's sake.  */
  47.  
  48. #define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} "
  49.  
  50. /* Alignment of field after `int : 0' in a structure.  */
  51.  
  52. #undef EMPTY_FIELD_BOUNDARY
  53. #define EMPTY_FIELD_BOUNDARY 16
  54.  
  55. /* Every structure or union's size must be a multiple of 2 bytes.  */
  56.  
  57. #define STRUCTURE_SIZE_BOUNDARY 16
  58.  
  59. /* This is BSD, so it wants DBX format.  */
  60.  
  61. #define DBX_DEBUGGING_INFO
  62.  
  63. /* Define subroutines to call to handle multiply, divide, and remainder.
  64.    These routines are built into the c-library on the hp200.
  65.    XXX What other routines from the c-library could we use?
  66.    The `*' prevents an underscore from being prepended by the compiler.  */
  67.  
  68. #define DIVSI3_LIBCALL "*ldiv"
  69. #define UDIVSI3_LIBCALL "*uldiv"
  70. #define MODSI3_LIBCALL "*lrem"
  71. #define UMODSI3_LIBCALL "*ulrem"
  72. #define MULSI3_LIBCALL "*lmul"
  73. #define UMULSI3_LIBCALL "*ulmul"
  74.  
  75. /* Don't default to pcc-struct-return, because gcc is the only compiler, and
  76.    we want to retain compatibility with older gcc versions.  */
  77. #define DEFAULT_PCC_STRUCT_RETURN 0
  78.